/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Services;

import Bean.Pregunta;
import Bean.Respuesta;
import Bean.Views.PreguntaView;
import DAO.DAOPregunta;
import DAO.DAORespuesta;
import DataBase.TransacionException;
import java.util.Vector;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Sixviv
 */
public class GestionPreguntasSrv {
    DAOPregunta daoPregunta = new DAOPregunta();
    DAORespuesta daoRespuesta = new DAORespuesta();

    public void guardarPregunta(PreguntaView pregunta) throws TransacionException{
        daoPregunta.insertar(pregunta.getPregunta());
        setIdPreguntaRes(pregunta);
        guardarRespuestas(pregunta.getRespuestas());
    }

    private void guardarRespuestas(List<Respuesta> respuestas) throws TransacionException{
        for( Respuesta respuesta: respuestas ){
            daoRespuesta.insertar(respuesta);
        }
    }

    private void setIdPreguntaRes(PreguntaView pregunta){
        for( Respuesta respuesta: pregunta.getRespuestas() ){
            respuesta.setPregunta(pregunta.getPregunta());
        }
    }

    public ArrayList<PreguntaView> getPreguntasWiew(){
        ArrayList<PreguntaView> preguntasView = new ArrayList<PreguntaView>();
        ArrayList<Pregunta> preguntas = (ArrayList<Pregunta>) daoPregunta.getAll();
        for(int cont = 0; cont < preguntas.size(); cont++){
            PreguntaView preg = new PreguntaView();
            preg.setPregunta(preguntas.get(cont));
            preg.setRespuestas(getRespByIdPreg(preguntas.get(cont).getIdPregunta()));
            preguntasView.add(preg);
        }
        return preguntasView;
    }

    private ArrayList<Respuesta> getRespByIdPreg(int id){
        String sql = "where idPregunta =?";
        List<Object> list = new ArrayList();
        list.add(id);
        return (ArrayList)daoRespuesta.buscar(sql, list);
    }
}
